In a peer-to-peer network, a client device connects with peer client devices to download content. To find other peer client devices, the client device communicates with a peer matching service that generates a list of peer client devices. The peer matching service may use algorithms to select peer client devices that are close to the client device. For example, peer client devices that are on the same local area network (LAN) may be the best peers that a client device can connect to for content download. The peer matching service may prioritize the LAN peer client devices over other peer client devices that are not connected to the same LAN as the client device.
Even if on the same LAN, it is possible that the client device and the peer client devices may connect through a connection type that may suffer from constrained resources to transfer content. For example, if there is a large congregation of client devices connecting to a single access point, and each of the client devices receives a list of peer client devices connected to that access point, the resources available for connecting each of the client devices may be constrained. When each client device connected to the access point is provided with a majority of the same peer client devices, the number of connections actively transferring content through the access point exponentially increases. For example, if there are 500 client devices connected to an access point that are downloading the same content using peer-to-peer, and each client device receives 50 peer client devices connected to the same access point, this may result in 25,000 connections actively transferring data through the access point. Given the resulting network congestion at the access point, this may result in degraded performance when downloading the content via peer-to-peer.